Telephone call processing and switching systems are, at the time of the present patent application, relatively sophisticated, computerized systems, and development and introduction of new systems continues. Much information on the nature of such hardware and software is available in a number of publications accessible to the present inventors and to those with skill in the art in general. For this reason, much minute detail of known systems is not reproduced here, as to do so may tend to obscure the facts of the invention.
At the time of filing the present patent application there continues to be remarkable growth in telephone-based information systems. Recently emerging examples are telemarketing operations and technical support operations, among many others, which have grown apace with development and marketing of, for example, sophisticated computer equipment. More traditional are systems for serving customers of large enterprises, such as insurance companies and the like. In some cases enterprises develop and maintain their own telephony operations with purchased or leased equipment, and in many other cases, companies outsource such operations to firms that specialize in such services.
In a call center, a relatively large number of agents handle telephone communication with callers. Each agent is typically assigned to a telephone connected to a central switch, such as a PBX, which is in turn connected to a public-switched telephone network (PSTN), well-known in the art. The central switch may be one of several known types.
An organization having one or more call centers for serving customers typically provides one or more telephone numbers to the public or to their customer base, or both, that may be used to reach the service. These numbers are frequently of the no-charge-to-calling-party variety. The number or numbers may be published on product packaging, in advertisements, in user manuals, in computerized help files, and the like. There are basically two scenarios. If the organization providing the service has a single call center, the number may be to the call center, and all further routing to an agent will be at the call center. If there are several call centers, the organization may provide several numbers, one for each call center, and the customer may be expected to use the number for the closest center, or for the center advertised to provide specifically the service he or she might need. In many cases the number provided will connect the caller with a first Service Control Point (SCP) which is adapted to pre-process incoming calls and forward the calls to call centers.
Routing of calls, then, may be on several levels. Pre-routing may be done at SCPs and further routing may be, and often is, accomplished at individual call centers. As described above, a call center typically involves a central switch, typically including an Automatic Call Distributor (ACD). The central switch is connected to the PSTN or other call network, as is well-known in the art. Agents, trained to interact with callers, service telephones connected to the central switch.
If the call center consists of just a central switch and connected telephone stations, the routing that can be done is quite limited. Current art telephony switches, although increasingly computerized, are limited in the range of computer processes that may be performed. For this reason additional computer capability in the art has been added for such central switches by connecting computer processors, adapted to run control routines and to access databases, to the central switch. The processes of incorporating computer enhancement to telephone switches is known in the art as Computer Telephony Integration (CTI), and the hardware and software together is referred to as CTI equipment. Typically the CTI processor, executing CTI applications, monitors the activity of the switch and status of calls and equipment, and issues instructions and commands to the switch.
In a CTI system, telephone stations having telephones connected to the central switch may be equipped also with computer terminals, so agents manning such stations may have access to stored data as well as being linked to incoming callers by a telephone connection. Such stations may be interconnected in a local area network (LAN) by any one of several known network protocols, with one or more servers also connected to the network, and the CTI processor connected on the network as well.
When a call arrives at a call center, whether or no the call has been pre-processed at a SCP, typically at least the telephone number of the calling line is made available to the receiving switch at the call center by a telephone carrier. This service is available by most PSTNs as caller-ID information in a format such as the well-known ANIS system (Automatic Number Identification System). If the call center is computer-enhanced (CTI), the phone number of the calling party may be used to access additional information from a database at a server on the network that connects the agent workstations. In this manner information pertinent to a call may be provided to an agent.
Even with present levels of CTI there are still problems in operating such call centers, or a system of such call centers. For example there are waiting queues with which to contend, and long waits may be experienced by some callers, while other agents may be available who could handle callers stuck in call-center queues. This condition is usually more prevalent in a large call-in center wherein a limited number of agents must field many calls. It is generally desired that waiting periods experienced by callers not be of such a length such that a caller becomes frustrated and terminates the call. However, it is witnessed by many who patronize call centers that much improvement is needed with regards to waiting time in call-center queues.
There are techniques practiced in the industry aimed at alleviating long caller-queue waiting periods. One such standard development involves call load-balancing wherein incoming calls are distributed (routed) more evenly to available call centers such that queue lengths individual to separate call centers are somewhat the same. This technique may also be practiced in single call centers wherein calls are distributed among separate groups of agents. While this technique helps to even out call loads among different queues, queue length may still be high during peak traffic periods.
Another technique involves transferring a call to an alternate destination when that call approaches a pre-set maximum queue-waiting time for an agent. The alternate destination may help to keep the caller on the line via interactive method such as reviewing the purpose of the call or perhaps advertising products, while waiting for an available agent. However, a long queue can still be an irritating factor for many callers, even when some form of entertainment such as music is provided.
The above-described techniques may help to stabilize overall queue waiting times within call centers, or help to alleviate caller stress when waiting time is excessive, but they only partially address the problem. At peak call-in periods queue waits may still be high even though calls are distributed evenly. Regardless of the distribution (routing) method used, callers are generally not informed of expected waiting time. Many callers who are not informed of an approximate waiting time will lose patience and terminate the call after a short wait if they believe that they will have to hold for much longer, even though in actuality, they may have terminated the call just prior to being transferred to an agent.
One prior art system is taught in U.S. Pat. No. 5,020,095 entitled Interactive Call Distribution Processor, filed on Nov. 16, 1988. This teaching provides a means for informing a caller of a calculated (estimated) call-waiting time in a queue. In this prior art system, however, the invention is limited in scope to an ACD switching system utilizing a strict first-in-first-out (FIFO) queue. In this system, a dedicated processor attached to a standard ACD switch performs the required calculating based on real-time performance related to call traffic including counting previously queued calls ahead of a caller and estimating waiting time based on an average of three calls against a pre-set time limit. If callers must be held in queue beyond the pre-set limit, then they are asked to select another destination, or they are disposed of by default.
While the above mentioned system technically provides for informing callers of an estimated queue-waiting time, it is somewhat crude and limited in scope. For example, in CTI telephony systems known to the present inventors, new skill-based routing routines have been developed. As a consequence agents may be qualified to participate in more than one queue. In other systems known to the present inventor, queues are not rigidly structured, and incoming calls may be inserted by priority ahead of calls already in a queue.
Advances in call routing using such as priority queues, virtual queues, and the like, include routing to agents based on skill-set of the agent (e.g. language, level of expertise, etc.), routing to agents based on level or state of availability, routing to agents based on pre-acquired and/or pre-stored caller information, routing to agents based on priority assignment of call, and so on. Rather, the queue is stacked according to assigned call priority. Moreover, priority routing may also be integrated with skill-based routing and other rules-based conventions.
In addition to priority queuing, virtual queues are also used in CTI enhanced environments. A virtual queue is a method for tokenizing a call wherein the caller may retain his position be it FIFO or priority queue after he has terminated the call. When his position is the next "call" to be handled, an automated or manual outbound dialer places a call to the original caller. When the caller answers, he is connected to the available agent chosen to handle the call.
In the prior art there is not disclosed a flexible method for estimating queue waiting times that could cover differing types of queues effectively. Moreover, other factors that may effect estimated waiting time (EWT) such as abandoned calls, redirected calls, error-routed calls, and the like are not considered or taken into account.
It is desired that methods for estimating call waiting times in queue be much refined so that such techniques may be practiced in vastly more complicated and flexible environments such as those known to the inventor and described above. Moreover, especially in CTI systems, there are further uses for estimated waiting times beyond informing callers. Such estimates may be used in many machine decision-making processes.
What is clearly needed is a method for estimating call waiting times for various types of queues including priority queues, virtual queues, and multiple-queue systems wherein advanced intelligent routing routines are commonly practiced. Such a method and apparatus would further improve enterprise-customer relations, and aid in increasing enterprise profit, as well as enhancing efficiency and accuracy in many CTI functions.